package com.buba.mapper;

import entity.Friend;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @descriptions: 联系人mapper
 * @author: ZQ
 * @date: 2023/3/6 15:58
 */
@Mapper
@Repository
public interface FriendMapper {

    /**
     * @descriptions 获取好友信息
     * @author ZQ
     * @date 2023/3/6 13:44
     * @param myId
     * @return java.util.List<cn.hutool.json.JSONObject>
     */
    List<Map> getFriendList(Integer myId);

    /**
     * @descriptions 清空未读取
     * @author ZQ
     * @date 2023/3/6 13:44
     * @param myId
     * @param friendId
     * @return void
     */
    void emptyUnRead(@Param("myId") Integer myId,@Param("friendId") Integer friendId);

    /**
     * @descriptions 查询SessionId
     * @author ZQ
     * @date 2023/3/6 14:55
     * @param myId
     * @param friendId
     * @return entity.Friend
     */
    Friend getFriend(@Param("myId") Integer myId,@Param("friendId") Integer friendId);

    /**
     * @descriptions 接收信息对象修改最后消息
     * @author ZQ
     * @date 2023/3/6 14:56
     * @param sessionId
     * @param friendId
     * @param lastMessage
     * @param UpdateTime
     * @param unread
     * @return void
     */
    void updateFriendByIds(@Param("sessionId") Long sessionId, @Param("friendId") Integer friendId, @Param("lastMessage") String lastMessage, @Param("UpdateTime") Date UpdateTime, @Param("unread") Integer unread);

    /**
     * @descriptions 发送信息对象修改最后消息
     * @author ZQ
     * @date 2023/3/6 16:12
     * @param sessionId
     * @param friendId
     * @param lastMessage
     * @param UpdateTime
     * @return void
     */
    void updateFriendById(@Param("sessionId") Long sessionId, @Param("friendId") Integer friendId, @Param("lastMessage") String lastMessage, @Param("UpdateTime") Date UpdateTime);
}